package com.workstudy.workstudy.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.workstudy.common.annotation.Excel;
import com.workstudy.common.core.domain.BaseEntity;

/**
 * 考勤对象 workstudy_attendance
 * 
 * @author ws
 * @date 2021-03-28
 */
public class WorkstudyAttendance extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 考勤id */
    private Long attendanceId;

    /** 学生id */
    @Excel(name = "学生id")
    private Long userId;

    /** 岗位id */
    @Excel(name = "岗位id")
    private Long postId;

    /** 开始时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm")
    @Excel(name = "开始时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm")
    private Date startTime;

    /** 结束时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm")
    @Excel(name = "结束时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm")
    private Date endTime;

    /** 工作时长 */
    @Excel(name = "工作时长")
    private BigDecimal duration;

    /** 结算工资 */
    @Excel(name = "结算工资")
    private BigDecimal price;

    /** 状态 */
    @Excel(name = "状态")
    private String status;

    /** 工作质量 */
    @Excel(name = "工作质量")
    private Integer quality;

    /** 考勤人 */
    @Excel(name = "考勤人")
    private String attendanceBy;

    /** 考勤时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm")
    @Excel(name = "考勤时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm")
    private Date attendanceTime;

    /** 结算人 */
    @Excel(name = "结算人")
    private String settlementBy;

    /** 结算时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm")
    @Excel(name = "结算时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm")
    private Date settlementTime;

    private String loginName;

    private String userName;

    private String postName;

    private BigDecimal pprice;

    public void setAttendanceId(Long attendanceId) 
    {
        this.attendanceId = attendanceId;
    }

    public Long getAttendanceId() 
    {
        return attendanceId;
    }
    public void setUserId(Long userId) 
    {
        this.userId = userId;
    }

    public Long getUserId() 
    {
        return userId;
    }
    public void setPostId(Long postId) 
    {
        this.postId = postId;
    }

    public Long getPostId() 
    {
        return postId;
    }
    public void setStartTime(Date startTime) 
    {
        this.startTime = startTime;
    }

    public Date getStartTime() 
    {
        return startTime;
    }
    public void setEndTime(Date endTime) 
    {
        this.endTime = endTime;
    }

    public Date getEndTime() 
    {
        return endTime;
    }
    public void setDuration(BigDecimal duration) 
    {
        this.duration = duration;
    }

    public BigDecimal getDuration() 
    {
        return duration;
    }
    public void setPrice(BigDecimal price) 
    {
        this.price = price;
    }

    public BigDecimal getPrice() 
    {
        return price;
    }
    public void setStatus(String status) 
    {
        this.status = status;
    }

    public String getStatus() 
    {
        return status;
    }
    public void setQuality(Integer quality)
    {
        this.quality = quality;
    }

    public Integer getQuality()
    {
        return quality;
    }
    public void setAttendanceBy(String attendanceBy) 
    {
        this.attendanceBy = attendanceBy;
    }

    public String getAttendanceBy() 
    {
        return attendanceBy;
    }
    public void setAttendanceTime(Date attendanceTime) 
    {
        this.attendanceTime = attendanceTime;
    }

    public Date getAttendanceTime() 
    {
        return attendanceTime;
    }
    public void setSettlementBy(String settlementBy) 
    {
        this.settlementBy = settlementBy;
    }

    public String getSettlementBy() 
    {
        return settlementBy;
    }
    public void setSettlementTime(Date settlementTime) 
    {
        this.settlementTime = settlementTime;
    }

    public Date getSettlementTime() 
    {
        return settlementTime;
    }

    public String getLoginName() {
        return loginName;
    }

    public void setLoginName(String loginName) {
        this.loginName = loginName;
    }

    public String getUserName() {
        return userName;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }

    public String getPostName() {
        return postName;
    }

    public void setPostName(String postName) {
        this.postName = postName;
    }

    public BigDecimal getPprice() {
        return pprice;
    }

    public void setPprice(BigDecimal pprice) {
        this.pprice = pprice;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("attendanceId", getAttendanceId())
            .append("userId", getUserId())
            .append("postId", getPostId())
            .append("startTime", getStartTime())
            .append("endTime", getEndTime())
            .append("duration", getDuration())
            .append("price", getPrice())
            .append("status", getStatus())
            .append("quality", getQuality())
            .append("attendanceBy", getAttendanceBy())
            .append("attendanceTime", getAttendanceTime())
            .append("settlementBy", getSettlementBy())
            .append("settlementTime", getSettlementTime())
                .append("userName", getUserName())
                .append("postName", getPostName())
                .append("loginName", getLoginName())
                .append("pprice", getPprice())
            .toString();
    }
}
